package cn.powertime.evaluation.file.storage;

import cn.powertime.evaluation.entity.SysFile;
import cn.powertime.evaluation.file.minio.MinioFileStorage;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

/**
 * <p>
 *  文件存储接口
 * </p>
 *
 * @author ZYW
 * @version v1.0.0
 * @date 2019-08-23 11:42
 * @see DefaultFileStorage
 * @see MinioFileStorage
 */
public interface FileStorage {
    /**
     * <p>
     *     写文件流到指定地方，并返回文件信息
     * </p>
     * @param file
     * @return
     */
    FileInfo write(MultipartFile file);

    /**
     * 根据文件新读取文件到response
     * @param file 文件信息
     * @param response servlet响应对象
     */
    void read(SysFile file, HttpServletResponse response);
}
